//////////////////////////////////////////////////////////////////////////////////
//                                                                              //
//  This file is part of the buola project (https://code.google.com/p/buola/).  //
//                                                                              //
//  Copyright(c) 2007-2012 Xavi Gratal                                          //
//  gratal AT gmail DOT com                                                     //
//                                                                              //
//  Buola is free software: you can redistribute it and/or modify               //
//  it under the terms of the GNU General Public License as published by        //
//  the Free Software Foundation, either version 3 of the License, or           //
//  (at your option) any later version.                                         //
//                                                                              //
//  Buola is distributed in the hope that it will be useful,                    //
//  but WITHOUT ANY WARRANTY; without even the implied warranty of              //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               //
//  GNU General Public License for more details.                                //
//                                                                              //
//  You should have received a copy of the GNU General Public License           //
//  along with buola.  If not, see <http://www.gnu.org/licenses/>.              //
//                                                                              //
//////////////////////////////////////////////////////////////////////////////////

#include <buola/python.h>

#include <buola/python/types.h>

namespace buola { namespace python {

/*
template<>
CColor YObject::To()
{
    if(IsString())
    {
        return CColor(ToString());
    }
    else if(IsSequence())
    {
        YSeq lSeq(*this);
        
        if(lSeq.size()==4)
        {
            return RGBA(lSeq[0].ToInt(),lSeq[1].ToInt(),
                               lSeq[2].ToInt(),lSeq[3].ToInt());
        }
        else if(lSeq.size()==3)
        {
            return RGB(lSeq[0].ToInt(),lSeq[1].ToInt(),
                              lSeq[2].ToInt());
        }
        else if(lSeq.size()==2)
        {
            return CColor(lSeq[0].ToWString(),lSeq[1].ToFloat());
        }
        else
        {
            throw XArgument(I18N("wrong parameters for YObject::To<CColor>()"));
        }
    }
    else
    {
        throw XArgument(I18N("wrong parameters for YObject::To<CColor>()"));
    }
}

template<>
CRect_d YObject::To()
{
    if(IsSequence())
    {
        YSeq lSeq(*this);
        
        if(lSeq.size()==4)
        {
            return CRect_d(lSeq[0].ToFloat(),lSeq[1].ToFloat(),
                         lSeq[2].ToFloat(),lSeq[3].ToFloat());
        }
        else
        {
            throw XArgument(I18N("rectangle sequence must have length of 4"));
        }
    }
    else
    {
        throw XArgument(I18N("rectangle object should be a sequence"));
    }
}
*/

/*namespace python*/ } /*namespace buola*/ }
